package com.car.loan.project.cm.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.car.loan.project.cm.domain.CmInsuranceCompany;
import com.car.loan.project.cm.domain.CmSales;
import com.car.loan.project.cm.util.select.InsuranceBaseSelect;
import com.car.loan.project.cm.util.select.SalesBaseDataSelect;
import com.car.loan.project.cm.util.vo.SelectedVo;
import java.util.Collection;
import java.util.List;

/**
 * 销货单位Service接口
 * 
 * @author ruoyi
 * @date 2019-10-19
 */
public interface ICmSalesService 
{
    /**
     * 查询销货单位
     * 
     * @param id 销货单位ID
     * @return 销货单位
     */
    public CmSales selectCmSalesById(Long id);

    /**
     * 查询销货单位列表
     * 
     * @param cmSales 销货单位
     * @return 销货单位集合
     */
    public List<CmSales> selectCmSalesList(CmSales cmSales);

    IPage<CmSales> selectPage(IPage<CmSales> page,
        QueryWrapper<CmSales> queryWrapper);

    IPage<SelectedVo> selectedPage(SalesBaseDataSelect salesBaseDataSelect);


    boolean checkNameUnique(String name, Long id);

    /**
     * 新增销货单位
     * 
     * @param cmSales 销货单位
     * @return 结果
     */
    public int insertCmSales(CmSales cmSales);

    /**
     * 修改销货单位
     * 
     * @param cmSales 销货单位
     * @return 结果
     */
    public int updateCmSales(CmSales cmSales);

    /**
     * 批量删除销货单位
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteCmSalesByIds(Collection<Long> ids);

    /**
     * 删除销货单位信息
     * 
     * @param id 销货单位ID
     * @return 结果
     */
    public int deleteCmSalesById(Long id);
}
